// Author: Prasanna V. Loganathar
// Project: Edi.Android
// 
// Copyright 2014 Launchark. All Rights Reserved.
// 
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
// 
//     http://www.apache.org/licenses/LICENSE-2.0
// 
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//  
// Created: 3:50 AM 15-05-2014

namespace Edi.Android.Infrastructure
{
    using System;
    using System.IO;

    using Edi.Common.Infrastructure;

    using FileAccess = Edi.Common.Infrastructure.FileAccess;

    public class FileSystem : IFileSystem
    {
        public StorageZone DefaultStorageZone { get; set; }
        public string ApplicationStorePath { get; set; }
        public string LocalStorePath { get; set; }
        public string TempStorePath { get; set; }
        public string RoamingStorePath { get; set; }
        public string SharedStorePath { get; set; }
        public string CacheStorePath { get; set; }

        public Stream CreateFile(string fileName, StorageZone zone = StorageZone.Unspecified)
        {
            throw new NotImplementedException();
        }

        public void DeleteFile(string fileName, StorageZone zone = StorageZone.Unspecified)
        {
            throw new NotImplementedException();
        }

        public bool FileExists(string fileName, StorageZone zone = StorageZone.Unspecified)
        {
            throw new NotImplementedException();
        }

        public bool DirectoryExists(string dirName, StorageZone zone = StorageZone.Unspecified)
        {
            throw new NotImplementedException();
        }

        public void CreateDirectory(string dirName, StorageZone zone = StorageZone.Unspecified)
        {
            throw new NotImplementedException();
        }

        public void DeleteDirectory(string dirName, StorageZone zone = StorageZone.Unspecified, bool recursive = false)
        {
            throw new NotImplementedException();
        }

        public void MoveFile(
            string srcFileName,
            string destFileName,
            StorageZone srcZone,
            StorageZone destZone = StorageZone.Unspecified)
        {
            throw new NotImplementedException();
        }

        public void MoveDirectory(
            string srcDirName,
            StorageZone srcZone,
            string destDirName,
            StorageZone destZone = StorageZone.Unspecified)
        {
            throw new NotImplementedException();
        }

        public IFileProperty GetProperties(string fileName, StorageZone zone = StorageZone.Unspecified)
        {
            throw new NotImplementedException();
        }

        public Stream GetStream(string fileName, FileAccess accessMode, StorageZone zone = StorageZone.Unspecified)
        {
            throw new NotImplementedException();
        }
    }
}